package javaseof10day.day9.pm.demo1;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.table.*;

//�Ѷ�ѧ����ĸ��ֲ�����װ��һ��ģ����
@SuppressWarnings("serial")
public class Model extends AbstractTableModel{
 
  //rowData�������������
  //columnNames�����������
  @SuppressWarnings("rawtypes")
  Vector rowData,columnNames;
 
  //����������ݿ���Ҫ�Ķ���
  PreparedStatement ps=null;
  Connection ct=null;
  ResultSet rs=null;
  String url="jdbc:mysql://localhost:3306/test?useSSL=true&characterEncoding=utf-8";
  String user="root";
  String passwd="123456";
  String driver="com.mysql.jdbc.Driver";
  
  //���ѧ��������ɾ���ģ�
  public boolean updStu(String sql,String []paras)
  {
   //����sqlHelper(������򲢷��Բ����ǣ����԰�sqlHelper����static)
   SqlHelper sqlHelper = new SqlHelper();
   return sqlHelper.updExecute(sql, paras);
  }
  
  //��ѯ�ı��ʾ��ǳ�ʼ��
  @SuppressWarnings({ "rawtypes", "unchecked" })
  public void queryStu(String sql,String []paras)
  {
   SqlHelper sqlHelper =null;
   
   //�м�
   columnNames=new Vector();
   //��������
   columnNames.add("ѧ��");
   columnNames.add("����");
   columnNames.add("�Ա�");
   columnNames.add("����");
   columnNames.add("����");
   columnNames.add("ϵ��");
   rowData=new Vector();
   try{
    sqlHelper = new SqlHelper();
    ResultSet rs=sqlHelper.queryExecute(sql, paras);
    while(rs.next())
    {
     Vector hang=new Vector();
     hang.add(rs.getString(1));
     hang.add(rs.getString(2));
     hang.add(rs.getString(3));
     hang.add(rs.getInt(4));
     hang.add(rs.getString(5));
     hang.add(rs.getString(6));

     //���뵽rowData
     rowData.add(hang);
    }
   }catch(Exception e){
    e.printStackTrace();
   }finally{
    sqlHelper.close();
   }
  }
 //�õ����ж�����
 public int getRowCount() {
  return this.rowData.size();
 }
 
 //�õ����ж�����
 public int getColumnCount() {
  return this.columnNames.size();
 }
 //�õ�ĳ��ĳ�е�����
 @SuppressWarnings("rawtypes")
 public Object getValueAt(int row, int column) {
  return ((Vector)this.rowData.get(row)).get(column);
 }

 @Override
 public String getColumnName(int column) {
  return (String)this.columnNames.get(column);
 }
}
 

 

 
 
 
 